﻿<%@ Page Language="C#" MasterPageFile="~/MasterPages/Principal.master" AutoEventWireup="true"
    CodeFile="Ingredientes.aspx.cs" Inherits="Default2" Title="" %>

<%@ OutputCache Duration="1" Location="none" %>
<%@ Register Src="MenusDePagina/WebUserControlMenuAdministracion.ascx" TagName="WebUserControlMenuAdministracion"
    TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <style type="text/css">
        .style1
        {
            height: 49px;
        }
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server">
    <uc1:WebUserControlMenuAdministracion ID="WebUserControlMenuAdministracion1" runat="server" />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <h1>
        Productos</h1>
        <asp:Panel ID="Panel1" runat="server">
            <asp:Label ID="Label1" runat="server"></asp:Label>
    </asp:Panel>
        <div id="Contenedor">
    <asp:FormView ID="FormView1" runat="server" DataKeyNames="Codigo" DataSourceID="ObjectDataSourceIngrediente"
        DefaultMode="Insert" HorizontalAlign="Center" OnItemInserted="FormView1_ItemInserted"
        Visible="False" EnableModelValidation="True">
        <InsertItemTemplate>
            <table class="detalle">
                <thead>
                    <tr>
                        <th colspan="2" align="center">
                            Adicionar
                        </th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>
                            Nombre:
                        </td>
                        <td>
                            <asp:TextBox ID="NombreTextBox" runat="server" Text='<%# Bind("Nombre") %>' 
                                MaxLength="20" />
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorNombre" runat="server" ErrorMessage="El nombre del ingrediente es obligatorio"
                                ValidationGroup="Validadores" ControlToValidate="NombreTextBox">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Valor:
                        </td>
                        <td>
                            <asp:TextBox ID="ValorTextBox" runat="server" Text='<%# Bind("Valor") %>' 
                                MaxLength="13" Height="22px" Width="128px"></asp:TextBox>
                            <asp:CompareValidator ID="CompareValidatorValor" runat="server" ControlToValidate="ValorTextBox"
                                ErrorMessage="El valor debe ser un monto" Operator="DataTypeCheck" Type="Double"
                                ValidationGroup="Validadores">*</asp:CompareValidator>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorValor" runat="server" ControlToValidate="ValorTextBox"
                                ErrorMessage="El valor del ingrediente es obligatorio" ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td class="style1">
                            Unidad de medida:
                        </td>
                        <td class="style1">
                            <asp:TextBox ID="UnidadDeMedidaTextBox" runat="server" 
                                Text='<%# Bind("UnidadDeMedida") %>' MaxLength="20" />
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorUnidadDeMedida" runat="server"
                                ControlToValidate="UnidadDeMedidaTextBox" ErrorMessage="la unidad de medida para el ingrediente es obligatoria, en caso de no tener por favor colocar no aplica (N/A)."
                                ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Tipo
                        </td>
                        <td>
                            <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="ObjectDataSourceTipoDeIngrediente"
                                DataTextField="Nombre" DataValueField="Codigo" SelectedValue='<%# bind("TipoDeIngrediente") %>'
                                AppendDataBoundItems="True">
                                <asp:ListItem Selected="True" Value="-">---Selecciona Tipo---</asp:ListItem>
                            </asp:DropDownList>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                                ControlToValidate="DropDownList1" ErrorMessage="Debe seleccionar un tipo" 
                                InitialValue="-" ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                            <asp:ObjectDataSource ID="ObjectDataSourceTipoDeIngrediente" runat="server" SelectMethod="consultarTiposDeIngrediente"
                                TypeName="Libreria.SIG.Negocio.TipoDeIngredienteNegocio">
                                <SelectParameters>
                                    <asp:SessionParameter Name="cadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
                                </SelectParameters>
                            </asp:ObjectDataSource>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Cantidad Mínima:
                        </td>
                        <td>
                            <asp:TextBox ID="CantidadMinimaTextBox" runat="server" 
                                Text='<%# Bind("CantidadMinima") %>' MaxLength="10" />
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorCantidadMinima" runat="server"
                                ControlToValidate="CantidadMinimaTextBox" ErrorMessage="la cantidad mínima para el ingrediente es obligatoria."
                                ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                            <asp:CompareValidator ID="CompareValidatorCantidadMinima" runat="server" ValidationGroup="Validadores"
                                ErrorMessage="Cantidad minima debe ser numerica" ControlToValidate="CantidadMinimaTextBox"
                                ValueToCompare="0" Operator="GreaterThanEqual" Type="Double">*</asp:CompareValidator>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Cantidad Máxima:
                        </td>
                        <td>
                            <asp:TextBox ID="CantidadMaximaTextBox" runat="server" 
                                Text='<%# Bind("CantidadMaxima") %>' MaxLength="10" />
                            <asp:RequiredFieldValidator ID="RequiredFieldValidatorCantidadMaxima" runat="server"
                                ControlToValidate="CantidadMaximaTextBox" ErrorMessage="la cantidad maxima para el ingrediente es obligatoria."
                                ValidationGroup="Validadores">*</asp:RequiredFieldValidator>
                            <asp:CompareValidator ID="CompareValidatorCantidadMinima0" runat="server" 
                                ControlToValidate="CantidadMaximaTextBox" 
                                ErrorMessage="Cantidad maxima debe ser numerica" Operator="GreaterThanEqual" 
                                Type="Double" ValidationGroup="Validadores" ValueToCompare="0">*</asp:CompareValidator>
                        </td>
                    </tr>
                </tbody>
                <tfoot>
                    <tr>
                        <td colspan="2">
                            <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                                Text="Insertar" ValidationGroup="Validadores" />
                            &nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False"
                                CommandName="Cancel" OnClick="InsertCancelButton_Click" Text="Cancelar" />
                        </td>
                    </tr>
                </tfoot>
            </table>
        </InsertItemTemplate>
    </asp:FormView>
    <br />
    <asp:GridView ID="GridViewIngredientes" runat="server" AllowPaging="True" AutoGenerateColumns="False"
        DataKeyNames="Codigo" DataSourceID="ObjectDataSourceIngrediente" CellPadding="4"
        ForeColor="#333333" GridLines="None" HorizontalAlign="Center" CssClass="detalle">
        <RowStyle BackColor="#EFF3FB" Wrap="False" />
        <Columns>
            <asp:TemplateField ShowHeader="False">
                <EditItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                        Text="Actualizar" ValidationGroup="Validadores"></asp:LinkButton>
                    &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                        Text="Cancelar"></asp:LinkButton>
                </EditItemTemplate>
                <HeaderTemplate>
                    <asp:LinkButton ID="LinkButtonAddNew" runat="server" OnClick="LinkButtonAddNew_Click">Adicionar nuevo</asp:LinkButton>
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
                        Text="Modificar"></asp:LinkButton>
                    &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
                        Text="Eliminar" OnClientClick="javascript:return ConfirmDel(this);"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="Codigo" HeaderText="Código" ReadOnly="True" SortExpression="Codigo" />
            <asp:TemplateField HeaderText="Nombre" SortExpression="Nombre">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" MaxLength="20" 
                        Text='<%# Bind("Nombre") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("Nombre") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Valor" SortExpression="Valor">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox2" runat="server" MaxLength="13" 
                        Text='<%# Bind("Valor") %>'></asp:TextBox>
                    <asp:CompareValidator ID="CompareValidator1" runat="server" 
                        ControlToValidate="TextBox2" ErrorMessage="El valor debe ser un numerico" 
                        Operator="DataTypeCheck" Type="Double" ValidationGroup="Validadores">*</asp:CompareValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("Valor") %>'></asp:Label>
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Unidad" SortExpression="UnidadDeMedida">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox5" runat="server" MaxLength="20" 
                        Text='<%# Bind("UnidadDeMedida") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label5" runat="server" Text='<%# Bind("UnidadDeMedida") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Cantidad Mínima" SortExpression="CantidadMinima">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox3" runat="server" MaxLength="4" 
                        Text='<%# Bind("CantidadMinima") %>'></asp:TextBox>
                    <asp:CompareValidator ID="CompareValidator2" runat="server" 
                        ControlToValidate="TextBox3" 
                        ErrorMessage="La Cantidad minima debe ser un numerica" Operator="DataTypeCheck" 
                        Type="Double" ValidationGroup="Validadores">*</asp:CompareValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("CantidadMinima") %>'></asp:Label>
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Cantidad Máxima" SortExpression="CantidadMaxima">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox4" runat="server" MaxLength="4" 
                        Text='<%# Bind("CantidadMaxima") %>'></asp:TextBox>
                    <asp:CompareValidator ID="CompareValidator4" runat="server" 
                        ControlToValidate="TextBox4" ErrorMessage="Cantidad maxima debe ser numerica" 
                        Operator="DataTypeCheck" Type="Double" ValidationGroup="Validadores">*</asp:CompareValidator>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label4" runat="server" Text='<%# Bind("CantidadMaxima") %>'></asp:Label>
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Tipo" SortExpression="TipoDeIngrediente">
                <EditItemTemplate>
                    <asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="ObjectDataSourceTipoDeIngrediente"
                        DataTextField="Nombre" DataValueField="Codigo" SelectedValue='<%# Bind("tipoDeIngrediente") %>'>
                    </asp:DropDownList>
                    <asp:ObjectDataSource ID="ObjectDataSourceTipoDeIngrediente" runat="server" SelectMethod="consultarTiposDeIngrediente"
                        TypeName="Libreria.SIG.Negocio.TipoDeIngredienteNegocio">
                        <SelectParameters>
                            <asp:SessionParameter Name="cadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
                        </SelectParameters>
                    </asp:ObjectDataSource>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="ObjectDataSourceTipoDeIngrediente"
                        DataTextField="Nombre" DataValueField="Codigo" SelectedValue='<%# Bind("tipoDeIngrediente") %>'
                        Enabled="False">
                    </asp:DropDownList>
                    <asp:ObjectDataSource ID="ObjectDataSourceTipoDeIngrediente" runat="server" SelectMethod="consultarTiposDeIngrediente"
                        TypeName="Libreria.SIG.Negocio.TipoDeIngredienteNegocio">
                        <SelectParameters>
                            <asp:SessionParameter Name="cadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
                        </SelectParameters>
                    </asp:ObjectDataSource>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <EmptyDataTemplate>
            No se encontraron registros en el sistema.
            <br />
            <br />
            <asp:LinkButton ID="LinkButtonAddNew" runat="server" OnClick="LinkButtonAddNew_Click">Adicionar nuevo</asp:LinkButton>
        </EmptyDataTemplate>
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#2461BF" />
        <AlternatingRowStyle BackColor="White" />
    </asp:GridView>
    </div>
    <asp:ObjectDataSource ID="ObjectDataSourceIngrediente" runat="server" DeleteMethod="eliminarIngrediente"
        InsertMethod="crearIngrediente" SelectMethod="consultarIngredientes" TypeName="Libreria.SIG.Negocio.IngredienteNegocio"
        UpdateMethod="actualizarIngrediente" 
        ondeleted="ObjectDataSourceIngrediente_Deleted">
        <DeleteParameters>
            <asp:Parameter Name="Codigo" Type="Int32" />
            <asp:Parameter Name="cadenaDeConexion" Type="String" />
            <asp:Parameter Direction="Output" Name="mensaje" Type="String" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="Nombre" Type="String" />
            <asp:Parameter Name="Valor" Type="Double" />
            <asp:Parameter Name="UnidadDeMedida" Type="String" />
            <asp:Parameter Name="cadenaDeConexion" Type="String" />
            <asp:Parameter Name="TipoDeIngrediente" Type="Int32" />
            <asp:Parameter Name="CantidadMinima" Type="Int32" />
            <asp:Parameter Name="CantidadMaxima" Type="Int32" />
            <asp:Parameter Name="Codigo" Type="Int32" />
        </UpdateParameters>
        <SelectParameters>
            <asp:SessionParameter Name="cadenaDeConexion" SessionField="CadenaDeConexion" Type="String" />
        </SelectParameters>
        <InsertParameters>
            <asp:Parameter Name="Nombre" Type="String" />
            <asp:Parameter Name="Valor" Type="Double" />
            <asp:Parameter Name="UnidadDeMedida" Type="String" />
            <asp:Parameter Name="cadenaDeConexion" Type="String" />
            <asp:Parameter Name="Codigo" Type="Int32" />
            <asp:Parameter Name="TipoDeIngrediente" Type="Int32" />
            <asp:Parameter Name="CantidadMinima" Type="Int32" />
            <asp:Parameter Name="CantidadMaxima" Type="Int32" />
        </InsertParameters>
    </asp:ObjectDataSource>
 
</asp:Content>
